1. Field of the Invention
The present invention relates to remote procedure call (RPC), and more particularly, to streaming remote procedure call.
2. Description of the Related Art
With the increasing prevalence of multimedia application software, more and more dual-core processors, or even multi-core processors, utilize such multimedia application software to meet efficiency requirements. An ordinary multi-core processor comprises a plurality of processing units, which can be connected via many types of communication mechanisms, such as shared memory, memory mapping interrupts, mailbox and channel-based protocol.
One advantage of multi-core processors is that each processing unit executes its own procedure with parallel computing. However, due to the varieties of the programming environment of each processing unit, the complexity of the software development has increased. Accordingly, one technique, known as Remote Procedure Call (RPC) has been widely applied to improve the software development efficiency. RPC is the technique for a client calling a server to execute a specific procedure. In other words, whether on a client or a server, a software designer can write the same computer program without making adjustments to accommodate different programming environments.
One present challenge for multi-core processors is providing a suitable data streaming mechanism for multimedia applications. Various multimedia applications, such as video encoding and decoding, image processing, data mining and graphical rendering all require the data streaming mechanism. However, when executing RPC, most present multi-core processors used with multimedia applications will not send data back to the client until the server finishes its procedure. Such waiting is not time-efficient for real-time multimedia applications. Therefore, finding a method to execute RPC by streaming is the one of the most crucial issues for RPC technique.